版块导航
简介
Arduino Uno是基于ATmega328P 的微控制器板。它具有14个数字输入/输出引脚(其中6个可用作PWM输出),6个模拟输入,一个16 MHz陶瓷谐振器(CSTCE16M0V53-R0),一个USB连接,一个电源插孔,一个ICSP接头和一个复位按钮。 它包含支持微控制器所需的一切;只需使用USB电缆将其连接到计算机,或使用AC-DC适配器或电池为它供电即可开始使用。您可以修补Uno,而不必担心做错什么,在最坏的情况下,您可以更换芯片,然后重新开始。
Uno作为Arduino软件(IDE)1.0的发布版本。Uno开发板和Arduino软件(IDE)的1.0版是Arduino的参考版本,现已发展到较新的版本。 Uno开发板是一系列Arduino开发板中的第一个,并且是以Arduino平台为参考模型。
开发板靓照
技术规格
微控制器 | ATmega328P |
工作电压 | 5伏 |
输入电压(推荐) | 7-12V |
输入电压(极限) | 6-20V |
数字I / O引脚 | 14个(其中6个提供PWM输出) |
PWM数字I / O引脚 | 6个 |
模拟输入引脚 | 6个 |
每个I / O引脚的直流电流 | 20毫安 |
3.3V引脚的直流电流 | 50毫安 |
Flash容量 | 32 KB(ATmega328P),其中的0.5 KB由引导程序使用 |
SRAM | 2 KB(ATmega328P) |
EEPROM | 1 KB(ATmega328P) |
时钟速度 | 16兆赫 |
LED_BUILTIN | 13 |
长度 | 68.6毫米 |
宽度 | 53.4毫米 |
重量 | 25克 |
技术资料
可以使用(Arduino软件 (IDE))对Arduino Uno进行编程。从“工具”>“主板”菜单中选择“ Arduino Uno”(根据您主板上的微控制器)。
Arduino Uno上的ATmega328预先装有一个引导加载程序 ,该 引导加载程序使您无需使用外部硬件编程器即可向其上传新代码。它使用原始STK500协议进行通信。
您还可以绕过引导程序,并使用Arduino ISP 或类似产品通过ICSP(在线串行编程)标头对微控制器进行编程
Arduino存储库中提供了ATmega16U2(或rev1和rev2板上的8U2)固件源代码。ATmega16U2 / 8U2装有DFU引导加载程序,可以通过以下方式激活:
在Rev1板上:将焊料跳线连接到板背面(在意大利地图附近),然后重新安装8U2。
在Rev2或更高版本的板上:有一个电阻可以将8U2 / 16U2 HWB线接地,从而更容易进入DFU模式。
然后,您可以使用Atmel的FLIP软件 (Windows)或 DFU编程器 (Mac OS X和Linux)来加载新固件。或者,您可以将ISP标头与外部编程器一起使用(覆盖DFU引导加载程序)。
Arduino Uno有一个可复位的保险丝,可以保护计算机的USB端口免受短路和过电流的影响。尽管大多数计算机提供了自己的内部保护,但保险丝提供了额外的保护层。如果对USB端口施加的电流超过500 mA,则保险丝将自动断开连接,直到消除短路或过载为止。
Uno与之前的所有主板不同,它不使用FTDI USB到串行驱动器芯片。取而代之的是,它具有Atmega16U2(至R2版本的Atmega8U2),已编程为USB到串行转换器。
Arduino Uno板可通过USB连接或外部电源供电。电源是自动选择的。
外部(非USB)电源可以来自AC-DC适配器(壁式电源适配器)或电池。可以通过将2.1mm中心正插头插入板子的电源插孔来连接适配器。电池的引线可以插入POWER连接器的GND和Vin引脚接头中。
该板可在6至20伏的外部电源上运行。但是,如果电源电压低于7V,则5V引脚的电源电压可能低于5V,电路板可能会变得不稳定。如果使用的电压超过12V,则稳压器可能会过热并损坏电路板。推荐范围是7到12伏。
电源引脚如下:
Vin Arduino板使用外部电源时的输入电压(与USB连接或其他稳压电源提供的5伏电压相反)。您可以通过该引脚供电,或者,如果通过电源插孔供电,则可以通过该引脚供电。
5V 此引脚从板上的稳压器输出稳定的5V。可以通过直流电源插孔(7-12V),USB连接器(5V)或板的VIN引脚(7-12V)为该板供电。通过5V或3.3V引脚供电会旁路稳压器,并可能损坏电路板。我们不建议这样做。
3V3 板载稳压器产生3.3伏电源。最大电流消耗为50 mA。
GND 接地引脚。
IOREF Arduino板上的此引脚提供了供微控制器操作的参考电压。正确配置的屏蔽层可以读取IOREF引脚电压并选择合适的电源,或者使输出端的电压转换器能够在5V或3.3V电压下工作。
ATmega328具有32 KB(引导加载程序占用0.5 KB)。它还具有2 KB的SRAM和1 KB的EEPROM(可以通过EEPROM库进行读写 )。
可以使用pinMode(),digitalWrite()和 digitalRead() 函数将Uno上的14个数字引脚中的每个用作输入或输出 。它们在5伏特下工作。每个引脚可提供或接收20 mA的建议工作条件,并具有一个20-50k欧姆的内部上拉电阻(默认情况下已断开)。任何I / O引脚上都不得超过40mA的最大值,以免对微控制器造成永久性损坏。
此外,某些引脚还具有特殊功能:
串行:0(RX)和1(TX)用于接收(RX)和发送(TX)TTL串行数据。这些引脚连接到ATmega8U2 USB-to-TTL串行芯片的相应引脚。
外部中断:2和3。这些引脚可以配置为在低值,上升沿或下降沿或值改变时触发中断。有关详细信息,请参见attachInterrupt()函数。
PWM:3、5、6、9、10和11。提供带有AnalogWrite()函数的8位PWM输出。
SPI:10(SS),11(MOSI),12(MISO),13(SCK)。这些引脚支持使用SPI库的SPI通信。
LED:13.有一个由数字引脚13驱动的内置LED。当该引脚为HIGH值时,该LED点亮;当该引脚为LOW时,其熄灭。
TWI:A4或SDA引脚以及A5或SCL引脚。使用Wire库支持TWI通信。
Uno有6个模拟输入,标记为A0至A5,每个模拟输入提供10位分辨率(即1024个不同值)。默认情况下,它们的测量范围是从地到5伏,尽管可以使用AREF引脚和AnalogReference()函数更改其范围的上限。板上还有几个其他引脚:
AREF 模拟输入的参考电压。与analogReference()一起使用。
Reset 将此线拉低以复位微控制器。通常用于在屏蔽板上添加一个重置按钮,以屏蔽板上的一个按钮。
Arduino Uno具有许多用于与计算机,另一个Arduino板或其他微控制器通信的工具。ATmega328提供UART TTL(5V)串行通信,可在数字引脚0(RX)和1(TX)上使用。板上的ATmega16U2通过USB引导此串行通信,并显示为计算机上软件的虚拟com端口。16U2固件使用标准的USB COM驱动程序,不需要外部驱动程序。但是, 在Windows上,需要.inf文件。Arduino软件(IDE)包括一个串行监视器,该监视器允许将简单的文本数据发送到板子或从板子发送出去。当通过USB到串行芯片和USB连接到计算机传输数据时,板上的RX和TX LED指示灯将闪烁(但对于针脚0和1上的串行通信则不是)。
上载Arduino Uno板的目的是通过在连接的计算机上运行的软件将其复位,而无需在上传之前物理按下复位按钮。ATmega8U2 / 16U2的硬件流控制线(DTR)之一通过100纳法拉电容器连接到ATmega328的复位线。当该线有效时(拉低),复位线下降的时间足以复位芯片。Arduino软件(IDE)使用此功能可让您通过简单地按界面工具栏中的上载按钮来上载代码。这意味着引导加载程序可以具有更短的超时时间,因为DTR的降低可以与上传开始时很好地协调。
此设置还有其他含义。当Uno连接到运行Mac OS X或Linux的计算机时,每次从软件(通过USB)对其进行连接时,它将重置。在接下来的半秒左右的时间内,引导程序正在Uno上运行。尽管它被编程为忽略格式错误的数据(即,除了上载新代码外的任何其他数据),但在打开连接后,它将截获发送至电路板的数据的前几个字节。如果板上运行的草图在首次启动时收到一次性配置或其他数据,请确保与之通信的软件在打开连接后并在发送此数据之前等待一秒钟。
Uno板上包含一条可切割的迹线,以禁用自动重置。迹线两侧的焊盘可以焊接在一起以重新启用它。标有“ RESET-EN”。您还可以通过在5V至复位线上连接一个110欧姆的电阻来禁用自动复位。